#include <iostream>
#include <cstring>

using namespace std;

const int N = 110;
char a[N][N];
int n;
int num[200];
int dx[] = {0, 0, 1, -1, 1, 1, -1, -1};
int dy[] = {1, -1, 0, 0, 1, -1, 1, -1};

int main()
{
	cin >> n;
	
	for(int i = 1; i <= n; i++)
	{
		for(int j = 1; j <= n; j++)
		{
			scanf("%c", &a[i][j]);
		}
	}
	for(int i = 2; i <= n - 1; i++)
	{
		for(int j = 2; j <= n - 1; j++)
		{
			for(int k = 0; k < 8; k++)
			{
				int x = i + dx[k];
				int y = j + dy[k];
				
				num[a[x][y]]++;
			}
			
			int ret = 2;
			ret = min(ret, num['l']);
			ret = min(ret, num['a']);
			ret = min(ret, num['n']);
			ret = min(ret, num['g']);
			memset(num, 0, sizeof num);
			
			if(ret == 0)
			{
				for(int k = 0; k < 8; k++)
				{
					int x = i + dx[k];
					int y = j + dy[k];
					if(x >= 1 && y >= 1 && x <= n && y <= n)
					{
						a[x][y] = '*';
					}
				}
			}
			else if(ret == 1)
			{
				for(int k = 0; k < 8; k++)
				{
					int x = i + dx[k];
					int y = j + dy[k];
					if(x >= 1 && y >= 1 && x <= n && y <= n
					&& a[x][y] != 'l' && a[x][y] != 'a'&& a[x][y] != 'n'&& a[x][y] != 'g')
					{
						a[x][y] = '*';
					}
				}
			}
		}
	}
	for(int i = 1; i <= n; i++)
	{
		for(int j = 1; j <= n; j++)
		{
			cout << a[i][j];
		}
		cout << endl;
	}
	return 0;
}
